$(function(){
	question_import.initial();
});

var question_import={
		initial : function initial() {
            $("#submitExcel").attr("disabled",true);

			this.prepareUploadify();
			this.questionDataProcess();
		},
		prepareUploadify : function prepareUploadify(){
			setTimeout(function(){
				$("#uploadify").uploadifive({
			    	'debug'	 : false,
					'buttonText'	: '点击上传附件',
					'uploadScript'	 : document.getElementsByTagName('base')[0].href + 'secure/upload-uploadify/',
					'queueID': 'fileQueue',
					'multi'	 : false,
					'auto'	 : true,
					'height' : '26',
					'width'	 : '160',
					'fileSizeLimit'	: '20480', // expects input in kb
                    'uploadLimit'  : 2,
                    'fileType': 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
                    'queueSizeLimit' : 1,
					'cancelImage'	: document.getElementsByTagName('base')[0].href + 'resources/js/uploadifive/uploadifive-cancel.png',
					'overrideEvents' :['onError','onFallback','onUploadComplete'],
                    'allowFileType'   : ['xlsx'],
                    'onFallback' : function () { //如果浏览器没有兼容的HTML5文件API功能，则在初始化期间触发
                        util.error('浏览器不支持HTML5,无法上传！');
                    },
                    'onCancel': function(file){
                        $("#div-file-list").html("");
                        /* 注意：取消后应重新设置uploadLimit */
                        var $data    = $(this).data('uploadifive'),
                            settings = $data.settings;
                        settings.uploadLimit++;
                    },
                    'onUploadComplete': function (file, data) {   //对于完成的每个文件上载，触发一次。
                        if (data) {
                            $('#div-file-list').html('<a class=\'file-name\'>'
                                + file.name
                                + '</a><input id="examTemplet" type=\'hidden\' value=\''
                                + data + '\' />');
                            util.success("上传成功");
                            $("#submitExcel").attr("disabled",false);
                        }
			        },
                    'onError': function (errorType, file, uploadAll) {
                        switch (errorType) {
                            case 'UPLOAD_LIMIT_EXCEEDED':
                                util.error("上传的文件数量已经超出系统限制数量！");
                                break;
                            case 'FILE_SIZE_LIMIT_EXCEEDED':
                                util.error("文件大小超出系统限制大小！");
                                break;
                            case 'QUEUE_LIMIT_EXCEEDED':
                                util.error("任务数量超出队列限制");
                                break;
                            case 'FORBIDDEN_FILE_TYPE':
                                util.error("文件类型不正确！");
                                break;
                            case '404_FILE_NOT_FOUND':
                                util.error("文件未上传成功或服务器存放文件的文件夹不存在!");
                                break;
                        }
                    }
			    });
			},2);
		},
		questionDataProcess : function questionDataProcess(){
			$("#from-question-import").submit(function(){
				//屏蔽上传按钮
                $("#submitExcel").attr("disabled",true);

				//检查是否选择题库
                var df_input_narrow=$("#df_input_narrow").val();
                if(df_input_narrow == "0"){
                    util.error("请选择题库！");
                    $("#submitExcel").attr("disabled",false);
                    return false;
                }

				//检查是否上传试题模板
                var examTemplet = $("#examTemplet").val();
                if(examTemplet == ""||typeof(examTemplet) == "undefined"){
                    util.error("请上传试题附件！");
                    $("#submitExcel").attr("disabled",false);
                    return false;
                }

				var filePath = $("#examTemplet").val();//$("#div-file-list").find("input").val().split('\\').pop();
				$.ajax({
					headers : {
						'Accept' : 'application/json',
						'Content-Type' : 'application/json'
					},
					type : "POST",
					url : $("#from-question-import").attr("action") + "/" + $(".upload-question-group select").val(),
					data : filePath,
					success : function(message, tst, jqXHR) {
                        $("#submitExcel").attr("disabled",false);
						if (!util.checkSessionOut(jqXHR))
                            return false;
						if (message.result == "success") {
                            util.success("导入成功", function() {
                                document.location.href = document.getElementsByTagName('base')[0].href + util.getCurrentRole()+'/question/question-list/filter-0-0-0-0-0-0-0-1.html';
							});
						} else {
                            util.error("操作失败:" + message.result);
							$("#submit-div .form-message").text(message.messageInfo);
						}
					},
					error : function(jqXHR, textStatus) {
						util.error("操作失败请稍后尝试");
					}
				});
				return false;
			});
		}
};